package cn.tedu.file;

import java.io.*;

/*本类用于测试字符流读取*/
public class TestIn2 {
    public static void main(String[] args) {
        method();//普通
        method2();//高效
        /*高效流高效的原因在于底层维护了一个byte[]，8192大小*/
    }

    private static void method2() {
            try {
                Reader in = new BufferedReader(new FileReader("D:\\ready\\1.txt"));
                int b;
                while((b=in.read())!=-1){
                    System.out.println(b);
                }
            }catch (Exception e){
                e.printStackTrace();
            }
    }

    private static void method() {
        try {
            //1.创建字符流对象用来读取
            // Reader in2 = new FileReader(new File("D:\\ready\\1.txt"));
            Reader in = new FileReader("D:\\ready\\1.txt");
            //2.通过创建好的流对象，开始读取
            /*read()，每次读取一个字符，如果读到了数据的末尾，返回-1*/
            System.out.println(in.read());//97,每次这样调用read（）就读取一个字符
            //3.需求：循环读取指定文件中的所有字符
            //3.1定义变量，用来保存读到的数据
            int b ;
            //3.2循环读取
            while ((b=in.read()) !=-1 ){
                System.out.println(b);
            }
            //4.释放资源
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
